﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using ProyectoBizarro.Dominio;
using ProyectoBizarro.Excepciones;


namespace ProyectoBizarro
{
    [ServiceContract]
    public interface IProductos
    {
        [OperationContract]
        [FaultContract(typeof(ValidationException))]
        Producto CrearProducto(DateTime creacion, int usuario, int estado, string ean, string denominacion, int marca, string medida, string descripcion, int tipo);
        [OperationContract]
        Producto ObtenerProducto(int codigo);
        [OperationContract]
        [FaultContract(typeof(ValidationException))]
        Producto ModificarProducto(int codigo, DateTime creacion, int usuario, int estado, string ean, string denominacion, int marca, string medida, string descripcion, int tipo);
        [OperationContract]
        void EliminarProducto(int codigo);
        //Producto EliminarProducto(int codigo);
        [OperationContract]
        List<Producto> ListarProducto();
        [OperationContract]
        List<Marca> ListarMarca();
        [OperationContract]
        List<TipoProducto> ListarTipoProducto();
        [OperationContract]
        List<Usuario> ListarUsuario();
    }
}
